//package com.yourenbang.lingyun.transaction.web.service.impl.pay.withdraw.channel;
//
//import com.alibaba.fastjson.JSONObject;
//import com.aliyun.openservices.shade.com.alibaba.fastjson.JSON;
//import com.tax.plan.dto.ResponseResult;
//import com.tax.plan.open.enums.PayeeTypeEnum;
//import com.tax.plan.open.modules.account.api.AccountApi;
//import com.tax.plan.open.modules.account.model.AccountBalanceResp;
//import com.tax.plan.open.modules.contract.api.ContractSignApi;
//import com.tax.plan.open.modules.contract.model.ContractPreviewReq;
//import com.tax.plan.open.modules.contract.model.ContractPreviewResp;
//import com.tax.plan.open.modules.payment.api.PaymentApi;
//import com.tax.plan.open.modules.payment.model.PaymentResultResp;
//import com.tax.plan.open.modules.payment.model.QryPaymentResultReq;
//import com.tax.plan.open.modules.payment.model.SendPaymentDetailReq;
//import com.tax.plan.open.modules.payment.model.SendPaymentReq;
//import com.tax.plan.open.utils.RsaUtil;
//import com.tax.plan.open.utils.TaxPlanClient;
//import com.tax.plan.tools.ResponseUtil;
//import com.yourenbang.lingyun.constants.BizCodeMessages;
//import com.yourenbang.lingyun.constants.enums.PlatNoEnums;
//import com.yourenbang.lingyun.constants.enums.pay.PayFromEnum;
//import com.yourenbang.lingyun.constants.enums.pay.PayTypeEnum;
//import com.yourenbang.lingyun.core.exception.SysBizException;
//import com.yourenbang.lingyun.core.message.Result;
//import com.yourenbang.lingyun.core.util.BizAssertUtils;
//import com.yourenbang.lingyun.core.util.DingdingUtils;
//import com.yourenbang.lingyun.core.util.KLog;
//import com.yourenbang.lingyun.core.util.json.JsonUtils;
//import com.yourenbang.lingyun.domain.MerchantPaymentSign;
//import com.yourenbang.lingyun.domain.MerchantPaymentSignExample;
//import com.yourenbang.lingyun.domain.UserBase;
//import com.yourenbang.lingyun.mapper.MerchantPaymentSignMapper;
//import com.yourenbang.lingyun.mapper.UserBaseMapper;
//import com.yourenbang.lingyun.transaction.config.DingdingConfig;
//import com.yourenbang.lingyun.transaction.exception.WichdrawFailException;
//import com.yourenbang.lingyun.transaction.exception.WichdrawWaitException;
//import com.yourenbang.lingyun.transaction.mapper.TransactionFundAccountWithdrawPaymentMapper;
//import com.yourenbang.lingyun.transaction.util.linghuisuan.LinghuisuanUtil;
//import com.yourenbang.lingyun.transaction.web.domain.dto.pay.linghuisuan.*;
//import com.yourenbang.lingyun.transaction.web.domain.po.FundAccountWithdrawPayment;
//import com.yourenbang.lingyun.transaction.web.domain.vo.pay.hjtx.AgentpayVO;
//import com.yourenbang.lingyun.transaction.web.service.fund.FundService;
//import com.yourenbang.lingyun.transaction.web.service.pay.withdraw.channel.LingHuiSuanService;
//import com.yourenbang.transaction.api.service.pay.PayTypeApiService;
//import lombok.extern.slf4j.Slf4j;
//import org.apache.commons.collections4.CollectionUtils;
//import org.apache.commons.lang3.ObjectUtils;
//import org.apache.commons.lang3.StringUtils;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//
//import javax.annotation.PostConstruct;
//import javax.annotation.Resource;
//import java.math.BigDecimal;
//import java.util.ArrayList;
//import java.util.List;
//import java.util.Map;
//import java.util.Objects;
//
//@Slf4j
//@Service("lingHuiSuanService")
//public class LingHuiSuanServiceImpl implements LingHuiSuanService {
//
//    @Autowired
//    private DingdingConfig dingdingConfig;
//    @Autowired
//    private UserBaseMapper userBaseMapper;
//    @Autowired
//    private TransactionFundAccountWithdrawPaymentMapper fundAccountWithdrawPaymentMapper;
//    @Autowired
//    private PayTypeApiService payTypeApiService;
//    @Autowired
//    private MerchantPaymentSignMapper merchantPaymentSignMapper;
//    @Resource
//    private FundService fundService;
//    private static LinghuisuanAgentpayParamDTO linghuisuanAgentpayParamDTO;
//
//    @PostConstruct
//    private void init() {
//
//        Map<String, String> typeParams = payTypeApiService.getPayParams(PayTypeEnum.LINGHUISUAN, PayFromEnum.yxy_withdraw_ally_all);
//
//        linghuisuanAgentpayParamDTO = JsonUtils.convertValue(typeParams, LinghuisuanAgentpayParamDTO.class);
//
//        log.debug("【灵会算代付】支付渠道参数:{}", JSON.toJSONString(linghuisuanAgentpayParamDTO));
//
//        TaxPlanClient.init(linghuisuanAgentpayParamDTO.getAgentpayurl(), linghuisuanAgentpayParamDTO.getVersion(),
//                linghuisuanAgentpayParamDTO.getMerchantNo(), linghuisuanAgentpayParamDTO.getClientPrivatekey(),
//                linghuisuanAgentpayParamDTO.getPlatPublickey(), 10, 10000L, 25000L);
//    }
//
//    /**
//     * 代付
//     */
//    @Override
//    public AgentpayVO agentpay(LinghuisuanAgentpayDTO dto) {
//
//
//        //检查代付有效性
//        if (!checkPayValidate(dto.getAmt())) {
//            throw new WichdrawFailException("灵会算余额不足");
//        }
//
//        //构造代付请求参数
//        SendPaymentReq sendPaymentReq = buildRequestParams(dto);
//
//        //发起代付
//        return sendPayment(sendPaymentReq);
//
//    }
//
//    /**
//     * 代付查询
//     * 如已代付成功
//     */
//    @Override
//    public boolean checkAgentpayResult(LinghuisuanAgentpayQueryDTO dto) {
//
//        QryPaymentResultReq req = new QryPaymentResultReq();
//        req.setOutBatchNo(dto.getOutOrderNo());
//        ResponseResult<PaymentResultResp> responseResult;
//        try {
//            responseResult = PaymentApi.queryPaymentResult(req);
//        } catch (Exception ex) {
//            KLog.warn("【代付查询】请求失败:{},入参:{}", ex.getMessage(), dto.toJSON());
//            throw new WichdrawWaitException(ex.getMessage());
//        }
//
//        if (responseResult.getCode() != LinghuisuanUtil.CODE_SUCCESS) {
//            return false;
//        }
//
//        PaymentResultResp paymentResultResp = ResponseUtil.getData(responseResult);
//
//        return paymentResultResp.getStatus().compareTo(LinghuisuanUtil.PAY_NOTICE_STATUS_SUCCESS) == 0;
//    }
//
//    private LinghuisuanPaymentNoticeDTO parseNoticeParams(String requestBody) {
//
//        LinghuisuanPaymentNoticeDTO linghuisuanPaymentNoticeDTO;
//        try {
//
//            String body = RsaUtil.decryptByPublicKey(linghuisuanAgentpayParamDTO.getPlatPublickey(), requestBody);
//            linghuisuanPaymentNoticeDTO = JsonUtils.readValue(body, LinghuisuanPaymentNoticeDTO.class);
//
//        } catch (Exception ex) {
//            throw new WichdrawWaitException(ex.getMessage());
//        }
//
//        return linghuisuanPaymentNoticeDTO;
//    }
//
//    /**
//     * 提现回调
//     */
//    @Override
//    public Result<FundAccountWithdrawPayment> withdrawNotice(String requestBody) {
//
//        LinghuisuanPaymentNoticeDTO linghuisuanPaymentNoticeDTO = parseNoticeParams(requestBody);
//
//        String orderSn = linghuisuanPaymentNoticeDTO.getCustBatchNo();
//        Short platNo = PlatNoEnums.YXY.getCode();
//
//        FundAccountWithdrawPayment payment = fundAccountWithdrawPaymentMapper.findByOrderSn(PlatNoEnums.YXY.getCode(), orderSn);
//
//        if (Objects.isNull(payment)) {
//
//            KLog.error("【提现回调】未找到提现订单,入参:{}", linghuisuanPaymentNoticeDTO);
//            return Result.builder().fail(BizCodeMessages.ORDER_NO_EXISTS);
//        }
//        payment.setPlatNo(platNo);
//
//        if (linghuisuanPaymentNoticeDTO.getStatus().compareTo(LinghuisuanUtil.PAY_NOTICE_STATUS_FAIL) == 0) {
//
//            KLog.error("【提现回调】提现失败,入参:{}", linghuisuanPaymentNoticeDTO);
//            Result<FundAccountWithdrawPayment> result = Result.builder().fail(BizCodeMessages.TRANSACTION_WITHDRAW_FAIL);
//            result.setData(payment);
//
//            return result;
//        } else if (linghuisuanPaymentNoticeDTO.getStatus().compareTo(LinghuisuanUtil.PAY_NOTICE_STATUS_PROCESS) == 0) {
//
//            return Result.builder().fail(BizCodeMessages.TRANSACTION_WITHDRAW_PROCESS);
//        } else if (linghuisuanPaymentNoticeDTO.getStatus().compareTo(LinghuisuanUtil.PAY_NOTICE_STATUS_SUCCESS) == 0) {
//
//            return Result.builder().success(payment);
//        }
//
//        KLog.error("【提现回调】接口响应异常,入参:{}", linghuisuanPaymentNoticeDTO);
//        return Result.builder().fail(BizCodeMessages.UNKNOWN_ERROR, "接口响应异常");
//
//    }
//
//    /**
//     * 签约回调
//     */
//    @Override
//    public void signNotice(String param) {
//        KLog.info("【签约回调】入参:{}", param);
//
//        LinghuisuanSignNoticeDTO linghuisuanSignNoticeDTO = JsonUtils.readValue(param, LinghuisuanSignNoticeDTO.class);
//
//        MerchantPaymentSignExample merchantPaymentSignExample = new MerchantPaymentSignExample();
//        merchantPaymentSignExample.createCriteria()
//                .andSignChannelTypeEqualTo(LinghuisuanUtil.SIGN_CHANNEL_TYPE_LINGHUISUAN)
//                .andThirdIdEqualTo(linghuisuanSignNoticeDTO.getContractId());
//        List<MerchantPaymentSign> merchantPaymentSigns = merchantPaymentSignMapper.selectByExample(merchantPaymentSignExample);
//
//        if (CollectionUtils.isEmpty(merchantPaymentSigns)) {
//            KLog.warn("【签约回调】数据库签约信息不存在,无法更新签约状态,入参:{}", param);
//            return;
//        }
//
//        MerchantPaymentSign merchantPaymentSign = merchantPaymentSigns.get(0);
//        if (merchantPaymentSign.getSignState().compareTo(LinghuisuanUtil.SIGN_STATUS_DONE) != 0) {
//            KLog.warn("【签约回调】签约失败,忽略,入参:{}", param);
//            return;
//        }
//
//        //保存签约状态
//        merchantPaymentSign.setContractUrl(linghuisuanSignNoticeDTO.getContactUrl());
//        merchantPaymentSign.setSignState(LinghuisuanUtil.SIGN_STATUS_DONE);
//        merchantPaymentSign.setCallbackData(param);
//
//        int inSing = merchantPaymentSignMapper.updateByPrimaryKey(merchantPaymentSign);
//        BizAssertUtils.assertOne(inSing, "添加签约记录失败");
//
//    }
//
//
//    /**
//     * 提现用户签约检查
//     *
//     * @param payFrom
//     * @param userBaseId
//     * @return success 检查成功,有值代表未签约,返回签约地址
//     * fail 检查失败
//     */
//    @Override
//    public Result<String> alreadySign(PayFromEnum payFrom, String userBaseId) {
//
//        UserBase userBase = userBaseMapper.selectByPrimaryKey(userBaseId);
//
//        if (ObjectUtils.isEmpty(userBase)) {
//            return Result.builder().fail();
//        }
//
//        if (StringUtils.isBlank(userBase.getIdNumber())) {
//            return Result.builder().fail();
//        }
//
//        MerchantPaymentSignExample merchantPaymentSignExample = new MerchantPaymentSignExample();
//        merchantPaymentSignExample.createCriteria()
//                .andSignChannelTypeEqualTo(LinghuisuanUtil.SIGN_CHANNEL_TYPE_LINGHUISUAN)
//                .andIdNumberEqualTo(userBase.getIdNumber())
//                .andUserBaseIdEqualTo(userBaseId);
//        List<MerchantPaymentSign> merchantPaymentSigns = merchantPaymentSignMapper.selectByExample(merchantPaymentSignExample);
//
//
//        if (CollectionUtils.isNotEmpty(merchantPaymentSigns)
//                && merchantPaymentSigns.get(0).getSignState().compareTo(LinghuisuanUtil.SIGN_STATUS_DONE) == 0) {
//            return Result.builder().success();
//        }
//
//        //如果数据库无签约,去远程获取签约状态
//        Result<ContractPreviewResp> result = getSignInfoFromRemote(userBase);
//        if (result.isFail()) {
//            throw new SysBizException(BizCodeMessages.UNKNOWN_ERROR, "获取用户签约状态失败," + result.getDesc());
//        }
//
//        ContractPreviewResp contractPreviewResp = result.getData();
//
//
//        saveMerchantSign(userBase, contractPreviewResp, merchantPaymentSigns);
//
//        //未签约,返签约地址
//        //TODO 临时关闭签约
//        if (false && !contractPreviewResp.isSigned()) {
//            return Result.builder().success(contractPreviewResp.getContractUrl());
//        }
//
//        //已签约,返回空
//        return Result.builder().success();
//    }
//
//    /**
//     * 实时去灵算云端查询签约状态
//     *
//     * @param userBase
//     * @return success 返回签约状态,
//     * fail 请求失败
//     */
//    private Result<ContractPreviewResp> getSignInfoFromRemote(UserBase userBase) {
//
//        /*
//         * 检查自由职业者是否有注册未注册进行平台注册，再检查和服务商是否存
//         * 在待签约合同，如果有未签约合同时，返回签约 h5链接地址；
//         */
//        ContractPreviewReq req = new ContractPreviewReq();
//        //姓名 必传
//        req.setRealName(userBase.getUserName());
//        //身份证 必传
//        req.setCertNo(userBase.getIdNumber());
//        //电话号码 必传
//        req.setMobileNo(userBase.getPhone());
//        //服务商编码 必传
//        req.setTaxBaseCode(linghuisuanAgentpayParamDTO.getTaxBaseCode());
//        //签约回调地址 可选
//        req.setNoticeUrl(linghuisuanAgentpayParamDTO.getSigncallurl());
//        ResponseResult<ContractPreviewResp> responseResult;
//
//        try {
//            responseResult = ContractSignApi.preview(req);
//            KLog.info("灵会算签约查询,入参:{},响应:{}", req, JSON.toJSONString(responseResult));
//        } catch (Exception ex) {
//            return Result.builder().fail(BizCodeMessages.UNKNOWN_ERROR, ex.getMessage());
//        }
//
//        ContractPreviewResp contractPreviewResp = ResponseUtil.getDataCanEmpty(responseResult);
//
//        if (responseResult.getCode() != LinghuisuanUtil.CODE_SUCCESS || ObjectUtils.isEmpty(contractPreviewResp)) {
//            //{"code":200,"data":{"contractUrl":"https://h5.test.taxll.com/entry/scan/contract?projectCode=
//            // 20230906860006&entCode=611002500153&accessOrg=3000032001&accessKey=8BFDD1C178D248609D80A5C400AA3FBF","contractId":1726776238450196481,
//            // "signed":false,"personId":1722876808244240386},"message":"操作成功"}
//
//            KLog.warn("灵会算签名查询异常,入参:{} 响应:{}", req, JSON.toJSONString(responseResult));
//            return Result.builder().fail(BizCodeMessages.UNKNOWN_ERROR, "签名信息有误," + responseResult.getMessage());
//
//        }
//
//        return Result.builder().success(contractPreviewResp);
//    }
//
//    /**
//     * 保存签约数据
//     */
//    private void saveMerchantSign(UserBase userBase, ContractPreviewResp contractPreviewResp,
//                                  List<MerchantPaymentSign> merchantPaymentSigns) {
//
//        if (CollectionUtils.isEmpty(merchantPaymentSigns)) {
//
//            MerchantPaymentSign merchantPaymentSign = new MerchantPaymentSign();
//            merchantPaymentSign.setSignChannelType(LinghuisuanUtil.SIGN_CHANNEL_TYPE_LINGHUISUAN);
//            merchantPaymentSign.setThirdId(contractPreviewResp.getContractId().toString());
//            merchantPaymentSign.setUserBaseId(userBase.getUserBaseId());
//            merchantPaymentSign.setIdNumber(userBase.getIdNumber());
//            merchantPaymentSign.setCallbackData(contractPreviewResp.toString());
//            merchantPaymentSign.setContractUrl(contractPreviewResp.getContractUrl());
//            merchantPaymentSign.setSignState(contractPreviewResp.isSigned() ? LinghuisuanUtil.SIGN_STATUS_DONE : LinghuisuanUtil.SIGN_STATUS_WAIT);
//
//            int inSing = merchantPaymentSignMapper.insertSelective(merchantPaymentSign);
//            BizAssertUtils.assertOne(inSing, "添加签约记录失败");
//
//        } else {
//
//            MerchantPaymentSign merchantPaymentSign = new MerchantPaymentSign();
//            merchantPaymentSign.setThirdId(contractPreviewResp.getContractId().toString());
//            merchantPaymentSign.setContractUrl(contractPreviewResp.getContractUrl());
//            merchantPaymentSign.setSignState(contractPreviewResp.isSigned() ? LinghuisuanUtil.SIGN_STATUS_DONE : LinghuisuanUtil.SIGN_STATUS_WAIT);
//
//            merchantPaymentSign.setMerchantPaymentSignId(merchantPaymentSigns.get(0).getMerchantPaymentSignId());
//            int inSing = merchantPaymentSignMapper.updateByPrimaryKeySelective(merchantPaymentSign);
//            BizAssertUtils.assertOne(inSing, "更新签约记录失败");
//        }
//
//    }
//
//    /**
//     * 查询平台商户余额
//     */
//    @Override
//    public BigDecimal getBalance() {
//
//        ResponseResult<AccountBalanceResp> responseResult = AccountApi.getAccountBalance(linghuisuanAgentpayParamDTO.getAcctNo());
//
//        KLog.info("灵会算余额查询结果：{}", JSONObject.toJSONString(responseResult));
//
//        return responseResult.getData().getBalance();
//
//    }
//
//
//    private boolean checkPayValidate(BigDecimal needPayMoney) {
//        //代付渠道余额检查
//        BigDecimal balance = getBalance();
//        if (balance.compareTo(needPayMoney) < 0) {
//            //渠道异常,自动关闭
////            transactionPayTypeMapper.closePayTypeByChannelId(dto.getPayChannelId());
////            transactionPayTypeMapper.closePayTypeByCodeNeedPlatNo(PayTypeEnum.BANK_CARD_PAY.getCode(), dto.getPlatNo());
//
//            String msg = "【账户余额不足预警】友仁帮-灵会算账户仅剩[" + balance + "]元,请尽快充值!已关闭支付渠道";
//            DingdingUtils.sendToDingding(msg, dingdingConfig.getDingdingWarnToken());
//            DingdingUtils.sendToDingding(msg, dingdingConfig.getDingdingPushYjgtToken());
//            return false;
//        }
//
//        return true;
//    }
//
//    private SendPaymentReq buildRequestParams(LinghuisuanAgentpayDTO linghuisuanAgentpayDTO) {
//
//        String outOrderNO = linghuisuanAgentpayDTO.getOrderNo();
//        String remark = StringUtils.isBlank(linghuisuanAgentpayDTO.getRemark()) ? "收益" : linghuisuanAgentpayDTO.getRemark();
//
//
//        SendPaymentDetailReq detailReq = new SendPaymentDetailReq();
//        detailReq.setOutOrderNo(outOrderNO);
//        detailReq.setPayeeType(PayeeTypeEnum.BANK.typeCode());
//        detailReq.setPayeeName(linghuisuanAgentpayDTO.getAccountName());
//        detailReq.setPayeeCertNo(linghuisuanAgentpayDTO.getIdCard());
//        detailReq.setPayeeAcctNo(linghuisuanAgentpayDTO.getAccountNo());
//        detailReq.setMobileNo(linghuisuanAgentpayDTO.getPhone());
//        detailReq.setPayeeAmount(linghuisuanAgentpayDTO.getAmt());
//        detailReq.setRemark(remark);
//
//        List<SendPaymentDetailReq> paymentDetailList = new ArrayList<>();
//        paymentDetailList.add(detailReq);
//
//        SendPaymentReq sendPaymentReq = new SendPaymentReq();
//        sendPaymentReq.setAcctNo(linghuisuanAgentpayParamDTO.getAcctNo());
//        sendPaymentReq.setOutBatchNo(outOrderNO);
//        sendPaymentReq.setDeductionMethod(1);
//        sendPaymentReq.setNoticeUrl(linghuisuanAgentpayParamDTO.getAgentpaycallurl());
//        sendPaymentReq.setDetailList(paymentDetailList);
//
//        return sendPaymentReq;
//
//    }
//
//
//    /**
//     * 发起代付
//     *
//     * @param sendPaymentReq
//     * @return 支付响应信息
//     */
//    private AgentpayVO sendPayment(SendPaymentReq sendPaymentReq) {
//
//        ResponseResult<PaymentResultResp> responseResult = null;
//        PaymentResultResp paymentResultResp = null;
//
//        try {
//
//            //提交代付请求,返回处理中,是否成功需要通过查询或者回调获得
//            responseResult = PaymentApi.payment(sendPaymentReq);
//            paymentResultResp = ResponseUtil.getData(responseResult);
//
//        } catch (Exception e) {
//
//            throw new SysBizException(BizCodeMessages.UNKNOWN_ERROR, e.getMessage());
//
//        } finally {
//
//            KLog.info("【灵会算代付】接口响应:{},入参:{}", paymentResultResp, sendPaymentReq.toString());
//
//        }
//
//        boolean isSubmitPaymentOk = ObjectUtils.isNotEmpty(responseResult) &&
//                ObjectUtils.isNotEmpty(paymentResultResp) &&
//                (LinghuisuanUtil.CODE_SUCCESS == responseResult.getCode()) &&
//                (paymentResultResp.getStatus() == LinghuisuanUtil.PAY_NOTICE_STATUS_PROCESS);
//
//        if (!isSubmitPaymentOk) {
//
//            if (paymentResultResp.getStatus() == LinghuisuanUtil.PAY_NOTICE_STATUS_FAIL) {
//                // 明确支付已失败,需退还用户资金
//                throw new WichdrawFailException("支付失败," + paymentResultResp.getResultMsg());
//            }
//
////        PaymentResultResp(batchNo=2023112100000003, outBatchNo=SFT202205447, acctNo=206610026002500061, projectCode=20230906860006,
////        totalNum=2, totalAmount=22.000000, successNum=0, successAmount=0, successServerAmount=0, status=2, resultCode=null,
////        resultMsg=null, deductionMethod=1, detailList=[PaymentDetailResultResp(orderNo=2023112100000005, outOrderNo=SFT2022054457,
////        paymentApplyTime=Tue Nov 21 04:22:41 CST 2023, personId=null, payeeType=BANK, payeeName=唐红霞, payeeCertNo=421083197407183526,
////        payeeBankNo=null, payeeBankName=招商银行, payeeAcctNo=6225882014306168, mobileNo=15814488937, payeeAmount=11, actualPayeeAmount=null,
////        serverAmount=null, remark=API测试付款, status=2, failMsg=外部付款批次SFT202205447已存在),
////        PaymentDetailResultResp(orderNo=2023112100000006, outOrderNo=SFT20220347, paymentApplyTime=Tue Nov 21 04:22:41 CST 2023,
////        personId=null, payeeType=BANK, payeeName=唐红霞, payeeCertNo=421083197407183526, payeeBankNo=null, payeeBankName=招商银行,
////        payeeAcctNo=6225882014306168, mobileNo=15814488937, payeeAmount=11, actualPayeeAmount=null, serverAmount=null,
////        remark=API测试付款, status=2, failMsg=外部付款批次SFT202205447已存在)])
//
//            throw new SysBizException(BizCodeMessages.UNKNOWN_ERROR, responseResult.getMessage());
//        }
//
//        AgentpayVO vo = new AgentpayVO();
//        vo.setCode(paymentResultResp.getResultCode());
//        vo.setMessage(paymentResultResp.getResultMsg());
//        vo.setOrderNo(sendPaymentReq.getOutBatchNo());
//        vo.setSerialNumber(paymentResultResp.getBatchNo());
//
//        return vo;
//    }
//}
